var obj = {
    a: 1
}

function foo(){
    console.log(this.a);
}
// foo.call(obj);

Function.prototype.mycall = function(context){
    //拿到foo
    //将foo引用到obj上
    //让obj触发foo
    //移除掉obj身上的foo

    //arguments   函数内的所有参数
    
    context.fn = this
    const res = context.fn()
    delete context.fn
    return res
}

foo.mycall(obj);